package com.pmenergy.model;

// Generated 15/08/2014 01:13:30 AM by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * ProformaDetalle generated by hbm2java
 */
@Entity
@Table(name = "PROFORMA_DETALLE", schema = "TECNOTREE")
public class ProformaDetalle implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private ProformaDetalleId id;
	private Proforma proforma;
	private Item item;
	private String procedimiento;
	private BigDecimal cantidad;
	private BigDecimal descuento;
	private BigDecimal costoUnitario;
	private BigDecimal costoTotal;
	private String observaciones;

	public ProformaDetalle() {
	}

	public ProformaDetalle(ProformaDetalleId id, Proforma proforma, Item item,
			BigDecimal cantidad, BigDecimal descuento,
			BigDecimal costoUnitario, BigDecimal costoTotal) {
		this.id = id;
		this.proforma = proforma;
		this.item = item;
		this.cantidad = cantidad;
		this.descuento = descuento;
		this.costoUnitario = costoUnitario;
		this.costoTotal = costoTotal;
	}

	public ProformaDetalle(ProformaDetalleId id, Proforma proforma, Item item,
			String procedimiento, BigDecimal cantidad, BigDecimal descuento,
			BigDecimal costoUnitario, BigDecimal costoTotal,
			String observaciones) {
		this.id = id;
		this.proforma = proforma;
		this.item = item;
		this.procedimiento = procedimiento;
		this.cantidad = cantidad;
		this.descuento = descuento;
		this.costoUnitario = costoUnitario;
		this.costoTotal = costoTotal;
		this.observaciones = observaciones;
	}

	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "proformaId", column = @Column(name = "PROFORMA_ID", nullable = false, precision = 22, scale = 0)),
			@AttributeOverride(name = "itemId", column = @Column(name = "ITEM_ID", nullable = false, precision = 22, scale = 0)) })
	public ProformaDetalleId getId() {
		return this.id;
	}

	public void setId(ProformaDetalleId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PROFORMA_ID", nullable = false, insertable = false, updatable = false)
	public Proforma getProforma() {
		return this.proforma;
	}

	public void setProforma(Proforma proforma) {
		this.proforma = proforma;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ITEM_ID", nullable = false, insertable = false, updatable = false)
	public Item getItem() {
		return this.item;
	}

	public void setItem(Item item) {
		this.item = item;
	}

	@Column(name = "PROCEDIMIENTO", length = 40)
	public String getProcedimiento() {
		return this.procedimiento;
	}

	public void setProcedimiento(String procedimiento) {
		this.procedimiento = procedimiento;
	}

	@Column(name = "CANTIDAD", nullable = false, precision = 22, scale = 0)
	public BigDecimal getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(BigDecimal cantidad) {
		this.cantidad = cantidad;
	}

	@Column(name = "DESCUENTO", nullable = false, precision = 3, scale = 3)
	public BigDecimal getDescuento() {
		return this.descuento;
	}

	public void setDescuento(BigDecimal descuento) {
		this.descuento = descuento;
	}

	@Column(name = "COSTO_UNITARIO", nullable = false, precision = 5, scale = 5)
	public BigDecimal getCostoUnitario() {
		return this.costoUnitario;
	}

	public void setCostoUnitario(BigDecimal costoUnitario) {
		this.costoUnitario = costoUnitario;
	}

	@Column(name = "COSTO_TOTAL", nullable = false, precision = 5, scale = 5)
	public BigDecimal getCostoTotal() {
		return this.costoTotal;
	}

	public void setCostoTotal(BigDecimal costoTotal) {
		this.costoTotal = costoTotal;
	}

	@Column(name = "OBSERVACIONES", length = 60)
	public String getObservaciones() {
		return this.observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

}
